<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>The Random\Engine interface</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="random-randomizer.unserialize.html">« Random\Randomizer::__unserialize</a></li>
      <li style="float: right;"><a href="random-engine.generate.html">Random\Engine::generate »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="book.random.html">Random</a></li>
    <li>The Random\Engine interface</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="class.random-engine" class="reference">
 <h1 class="title">The Random\Engine interface</h1>
 

 <div class="partintro"><p class="verinfo">(PHP 8 &gt;= 8.2.0)</p>


  <div class="section" id="random-engine.intro">
   <h2 class="title">简介</h2>
   <p class="para">
    A <span class="classname"><strong class="classname">Random\Engine</strong></span> provides a low-level source of randomness by
    returning random bytes that are consumed by high-level APIs to perform their operations.
    The <span class="classname"><strong class="classname">Random\Engine</strong></span> interface allows swapping out the algorithm
    used to generate randomness, because each algorithm makes different tradeoffs to fit
    specific use-cases. Some algorithms are very fast, but generate lower-quality randomness,
    whereas other algorithms are slower, but generate better randomness, up to
    cryptographically secure randomness as provided by the <span class="classname"><a href="class.random-engine-secure.html" class="classname">Random\Engine\Secure</a></span>
    engine.
   </p>

   <p class="para">
    PHP provides several <span class="classname"><strong class="classname">Random\Engine</strong></span>s out of the box to accomodate
    different use-cases. The <span class="classname"><a href="class.random-engine-secure.html" class="classname">Random\Engine\Secure</a></span> engine that is
    backed by a <abbr title="Cryptographically Secure PseudoRandom Number Generator">CSPRNG</abbr> is the recommended safe default choice, unless
    the application requires either reproducible sequences or very high performance.
   </p>
  </div>


  <div class="section" id="random-engine.synopsis">
   <h2 class="title">接口摘要</h2>


   <div class="classsynopsis">
    <div class="ooclass">
     
    </div>

    <div class="classsynopsisinfo">
     <span class="oointerface">
      <span class="modifier">interface</span> <strong class="interfacename">Random\Engine</strong></span> {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* 方法 */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="random-engine.generate.html" class="methodname">generate</a></span>(): <span class="type">string</span></div>

   }</div>


  </div>

 </div>

 




<h2>目录</h2><ul class="chunklist chunklist_reference"><li><a href="random-engine.generate.html">Random\Engine::generate</a> — Generates randomness</li></ul>
</div>
</div></div></body></html>